return G_SOURCE_CONTINUE;
}
-static GtkCssStyle *
-gtk_css_widget_node_update_style (GtkCssNode *cssnode,
- GtkCssChange change,
- gint64 timestamp,
- GtkCssStyle *style)
-{
- GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (cssnode);
-
- if (widget_node->widget != NULL)
- {
- GtkStyleContext *context = _gtk_widget_peek_style_context (widget_node->widget);
- if (context)
- gtk_style_context_clear_property_cache (context);
- }
-
- return GTK_CSS_NODE_CLASS (gtk_css_widget_node_parent_class)->update_style (cssnode, change, timestamp, style);
-}
-
static void
gtk_css_widget_node_queue_validate (GtkCssNode *node)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = gtk_css_widget_node_finalize;
- node_class->update_style = gtk_css_widget_node_update_style;
node_class->validate = gtk_css_widget_node_validate;
node_class->queue_validate = gtk_css_widget_node_queue_validate;
node_class->dequeue_validate = gtk_css_widget_node_dequeue_validate;
GtkStyleContext *parent;
GtkCssNode *cssnode;
GSList *saved_nodes;
- GArray *property_cache;
GdkFrameClock *frame_clock;
g_object_class_install_properties (object_class, LAST_PROP, properties);
}
-void
-gtk_style_context_clear_property_cache (GtkStyleContext *context)
-{
- GtkStyleContextPrivate *priv = context->priv;
- guint i;
-
- for (i = 0; i < priv->property_cache->len; i++)
- {
- PropertyValue *node = &g_array_index (priv->property_cache, PropertyValue, i);
-
- g_param_spec_unref (node->pspec);
- g_value_unset (&node->value);
- }
-
- g_array_set_size (priv->property_cache, 0);
-}
-
static void
gtk_style_context_pop_style_node (GtkStyleContext *context)
{
if (priv->screen == NULL)
g_error ("Can't create a GtkStyleContext without a display connection");
- priv->property_cache = g_array_new (FALSE, FALSE, sizeof (PropertyValue));
-
gtk_style_context_set_cascade (context,
_gtk_settings_get_style_cascade (gtk_settings_get_for_screen (priv->screen), 1));
g_object_unref (priv->cssnode);
- gtk_style_context_clear_property_cache (context);
- g_array_free (priv->property_cache, TRUE);
-
G_OBJECT_CLASS (gtk_style_context_parent_class)->finalize (object);
}
GParamSpec *pspec);
void gtk_style_context_validate (GtkStyleContext *context,
GtkCssStyleChange *change);
-void gtk_style_context_clear_property_cache (GtkStyleContext *context);
gboolean _gtk_style_context_check_region_name (const gchar *str);
gboolean _gtk_style_context_resolve_color (GtkStyleContext *context,